package com.ysz.mapper;

import com.ysz.component.encrypt.EncryptResultCodeAnnotation;
import com.ysz.component.encrypt.strategy.EncryptionResultCodeStrategy;
import com.ysz.component.page.PageView;
import com.ysz.component.tableshard.TableShardAnnotation;
import com.ysz.component.tableshard.strategy.DayTableShardStrategy;
import com.ysz.pojo.S1;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName S1Mapper
 * @Description TODO
 * @Data 13:20
 * @Version 1.0
 * @Author ysz
 */
@Mapper
public interface S1Mapper {

    @EncryptResultCodeAnnotation(encryptStrategy = {EncryptionResultCodeStrategy.class}, fieldKey = {"orderNo"})
    @TableShardAnnotation(tableName = "s1", tableShardStrategy = DayTableShardStrategy.class)
    List<S1> selectByPage(PageView pa, String s, @Param("y") Integer y, ArrayList list);

    Long selectByPageByCount(PageView pa, String s, Integer y, ArrayList list);
}
